package com.beizhen.demo.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.beizhen.demo.entity.StuUser;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.Map;
import java.util.Set;

/**
* 用户表 Dao接口
*/
@Repository
public interface StuUserDao extends BaseMapper<StuUser> {
    /**
     * 2020年7月13日22点16分
     * 孟希
     *基地注册
     */

    Integer base_register(StuUser stuUser);
    /**
     * 2020年7月13日22点16分
     * 孟希
     *登陆
     */
    StuUser doLogin(Map<String, Object> map);
    /**
     * 2020年7月13日22点16分
     * 孟希
     *修改个人信息
     */
    Integer UpdateUser(Map<String, Object> map);

    @Select("select distinct r.code" +
            "from tb_role r,stu_user u,stu_amdin_role ur" +
            "where r.id = ur.role_id and u.u_id =ur.user_id  and u.u_mailbox = #{mail}")
    Set<String> findRolesByMail(String mail);
    /**
     * 2020年8月9日22点16分
     * 孟希
     *查找权限
     */
    @Select("select distinct p.code " +
            "from tb_role r,stu_user u,stu_amdin_role ur,tb_role_perm rp,tb_permission p " +
            "where r.id = ur.role_id and u.u_id = ur.user_id and rp.role_id = r.id and rp.perm_id = p.id " +
            "and u.u_mailbox =#{mail}")
    Set<String> findPermissionsByMail(String mail);


}
